Liskov Substitution Principle | Solid Principles | Multiple Code Examples